1. Field of the Invention
Apparatuses and methods consistent with the present invention relate to a home network, and more particularly, to a method and apparatus for synchronizing contents provided by content directory services of Universal Plug and Play (UPnP) devices.
2. Description of the Related Art
Universal Plug and Play (UPnP), which is a type of protocol that discovers and controls electric devices connected to a network, has been considered as a standard protocol for home networking. UPnP Audio/Video (AV) is a UPnP-based technique whereby multimedia content, such as audio or video, can be used via a network.
The UPnP AV architecture includes a media server, a media renderer, and a control point that controls them. The media server is a device that provides a multimedia file via a content directory service (CDS), and the media renderer is a device that reproduces the multimedia file provided by the media server. The control point controls the media server and the media renderer so that they can operate interactively with each other. When the UPnP AV architecture is built, a plurality of media servers may be present in a home network, and the media servers may store different pieces of content. In such an environment, a user of UPnP AV is likely to require that a plurality of pieces of content that are scattered in different CDSs be easily synchronized. For example, the user may desire to synchronize his/her MP3 player with a home media center to play the music using a Hi-Fi device in order to evaluate the high pitch tones of the music content stored in the MP3 player.
FIG. 1 is a conceptual diagram schematically illustrating a method of synchronizing contents between UPnP devices in the related art. A user selects devices to be synchronized using a control point 100, and performs synchronization by controlling CDS 101 and CDS 102, which are respectively provided by the devices, so as to transmit contents between the devices.
FIG. 2 is a detailed flowchart illustrating a method of synchronizing contents between UPnP devices in the related art. Hereinafter, it is assumed that two UPnP devices are present and each CDS is provided by different UPnP devices.
In operation 201, the control point selects devices that are to be synchronized and calls a browse( ) action of a CDS that each of the devices provides so as to obtain a list of content. In operation 202, the lists of content of both devices are compared and the control point determines which object will be added to, deleted from, or changed in the selected devices in order to match the contents. Here, the object includes all types of data entities that a CDS can return as a result of calling the browse( ) action or a search( ) action. Thus, the object may be meta data of content, or a resource binary representing the content.
In operations 203 and 204, the control point deletes or adds contents using actions provided by the CDS of each device. More specifically, the control point controls a content directory service to obtain new content using a HTTP GET command by calling a CreateObject( ) action and an ImportResource( ) action of the content directory service to which the new content is to be added.
A DestroyObject( ) action and a DeleteResource( ) action are used to delete content, and an UpdateObject( ) action is used to modify meta data of content.
As described above, when synchronization of UPnP AV devices is performed using UPnP as in the related art, all content lists of the CDSs of all the devices must be searched in order to select an object that needs to be synchronized. Thus, when the amount of content is large, load on a memory or central processing unit (CPU) of the control point is significantly increased.
Also the more objects that are to be synchronized, the more frequently an action of a CDS is called, and the more network traffic is generated, thereby reducing the speed of synchronization.